home *** CD-ROM | disk | FTP | other *** search
-
-
- Procedure GetImage (X1,Y1,X2,Y2:Integer;P:Pointer); assembler;
- asm
- mov bx,320
- push ds
- les di,P
-
- mov ax,0A000h
- mov ds,ax
- mov ax,Y1
- mov dx,320
- mul dx
- add ax,X1
- mov si,ax
-
- mov ax,X2
- sub ax,X1
- inc ax
- mov dx,ax
- stosw
-
- mov ax,Y2
- sub ax,Y1
- inc ax
- stosw
- mov cx,ax
-
- @@1:
- mov cx,dx
-
- shr cx,1
- cld
- rep movsw
-
- test dx,1
- jz @@2
- movsb
- @@2:
- add si,bx
- sub si,dx
-
- dec ax
- jnz @@1
-
- pop ds
- end;
-
- Procedure PutImage (X1,Y1:Integer;P:Pointer); assembler;
- asm
- mov bx,320
- push ds
- lds si,P
-
- mov ax,0A000h
- mov es,ax
- mov ax,Y1
- mov dx,320
- mul dx
- add ax,X1
- mov di,ax
-
- lodsw
- mov dx,ax
-
- lodsw
-
- @@1:
- mov cx,dx
-
- shr cx,1
- cld
- rep movsw
-
- test dx,1
- jz @@2
- movsb
- @@2:
- add di,bx
- sub di,dx
-
- dec ax
- jnz @@1
-
- pop ds
- end;
-
- Procedure Init;
- begin
- GetMem (Buf1,64000);
- GetMem(Buf2,64000);
- end;
-
- begin
- init;
- dographicstuff;
-
- GetImage( 0,0,319,199,Buf1); {store page 1}
-
- domoregraphicstuff;
-
- GetImage( 0,0,319,199,Buf2); {store page 2}
-
- PutImage (0,0, Buf1); {restore page 1}
-
- end.